iT邦幫忙

2021 iThome 鐵人賽

DAY 15
3
Modern Web

曼曼來比較快_Git 版本控制系列 第 15

【Day15】Git 版本控制 - 合併分支(git merge)

  • 分享至 

  • xImage
  •  

在上一篇文章中有提到如何「創建分支」以及「切換分支」的方法,以下圖當範例來解釋:下圖的情況是 master 版本比較舊,commit 的檔案位置是在 v3,而 func1 的版本比較新,commit 的檔案位置在 v4。

倘若我們也想讓 master 擁有 v4 的 commit 的話,接下來就應該將兩個分支合併,這樣 masterfunc1 所擁有的 commit 就會相同了。

而合併的指令也很簡單,只要先將 head 移動到較舊的分支上,再使用以下指令就可以進行合併了(注意:以下指令中的 <branch_name> 指的是較新版本的分支)

git merge <branch_name>

git merge

接下來,就讓我們實際操作看看吧!

首先,先使用 git log 查詢一下目前的狀況:

可以看到 func1 這條分支的 commit 位置是在 replace(*, +),而 master 這條分支則是在 Create README.md 的這個 commit 上,由此可以看出 master 所在的位置是比較舊的 commit,因此,接下來我們要將 func1master 合併。

因為 master 的 commit 是比較舊的,所以我們要先將 head 移動到 master 上。

git checkout master

接下來再使用以下指令將 func1 合併到 master 上。

git merge func1

這樣就成功將 func1master 上的 commit 合併拉!

在本次的解說中,我們可以更清楚 git statusgit log 的差異,在建立跟合併分支的過程中我們經常使用 git log 這個指令來查看狀態,這是因為 git log 是負責管理本地數據庫的,而 git status 則是負責管理本地檔案和索引區的。


上一篇
【Day14】Git 版本控制 - 建立分支(branch)
下一篇
【Day16】Git 版本控制 - 多人協作 Fork(1)
系列文
曼曼來比較快_Git 版本控制30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言